package cn.tedu.oa.user.mapper;

import cn.tedu.oa.user.pojo.dto.UserLogoutParam;
import cn.tedu.oa.user.pojo.dto.UserQuery;
import cn.tedu.oa.user.pojo.entity.User;
import cn.tedu.oa.user.pojo.vo.UserVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

/* @Repository表示当前是持久层的一部分,主要职责是进行数据库的操作 */
@Repository
public interface UserMapper {
    UserVO selectByUsername(String username);

    void insert(User user);

    List<UserVO> selectUser(UserQuery userQuery);

    void update(User user);

    void deleteById(Integer userId);

    UserVO selectById(Integer parentId);

    List<UserVO> selectLeader(UserQuery userQuery);

    User findByUsername(String username);

    void updateLogoutTime(UserLogoutParam userLogoutParam);

    List<UserVO> selectByDuration();

    Integer selectCount();
}
